This invention is related in general to networks and more specifically relates to systems and methods for handling persistence information in a network.
For the purposes of the present discussion, persistence information may be any information pertaining to associations or mappings that persist or are maintained or should persist or should be maintained between entities involved or to be involved in a communications session. Examples of persistence information include, but are not limited to, associations between domain names and Internet Protocol (IP) addresses; mappings between Virtual Internet Protocol (VIP) addresses and server IP addresses; rules or policies for mapping domain names to IP addresses for a given client IP address, and so on.
Systems for handling persistence information are employed in various demanding applications including web-browsing applications involving routing client requests to specific servers and/or Server Load Balancers (SLBs) and applications involving routing client requests from a given SLB to a given real server. Such applications often demand robust systems and methods for maintaining network persistence policies, such as domain-name persistence policies, that enhance network Quality of Service (QOS) and traffic management capabilities.
Robust persistence policies and accompanying systems and methods for enforcing the policies are particularly important in Domain Name Server (DNS) applications involving communications between clients and servers. In such applications, failure of a client to maintain appropriate domain-name and IP-address relationships may cause a client, such as a personal computer with a browser, to retrieve an inappropriate website or instance thereof.
When a user enters a domain name for a website in a client, the client often queries an external DNS to retrieve an IP address associated with the domain name and the website. The query results may be stored in a local client-side DNS cache. The IP address facilitates establishing a connection between the client and a website and further facilitates routing requests therebetween via the network. The process involving obtaining an IP address for a requested domain name or web address associated with a desired website or web page is called DNS resolution.
For availability, scalability, and redundancy purposes, a given website may be hosted via multiple servers that are fronted by an SLB. The SLB may be fronted by a GSLB, which facilitates routing client requests for server content between geographically distributed servers at different physical sites. Such applications often require that a given mapping between a client IP address and a Virtual IP (VIP) address associated with a server or SLB hosting a desired website be maintained, i.e., that the mapping persist. This ensures that subsequent requests for website content will not result in the client retrieving different content from another server employed to host another version of the website.
Unfortunately, conventional systems and methods for enforcing persistence policies for a given client communication session are generally not keeping pace with advances in network appliances and accompanying changes in network topology.